<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 函数   执行特定功能【->打印  输出  求和 返回某个值 等 】的代码块
        // 特点: 可以重复执行

        // 函数声明
            // 1 函数表达式   
                // var fnName = function(){}
                // 注意: 先声明再访问 否则报错  xx is not a function
                // 按照变量的规则  先声明再访问
            // 2 函数声明式
                // function fnName(){}
                // 注意: 声明前后都可以访问
                // 函数具有提升 
        // 函数调用   调用一次  执行一次
            // fnName()

            // var printEl = function(){
            //     document.write("<div>哈哈哈</div>")
            // }
            // printEl()
            // printEl()
            
            // writeEl()
            // function writeEl(){
            //     console.log("yes")
            // }
            // writeEl()
            // writeEl()
            // writeEl()


            // 求 1 - 50 之间所有数字的和
            //    3   10
            //    50  80
            // function addFn(){
            //     var count = 0; // 求和的变量
            //     for(var i = 1 ; i <= 50; i++){
            //         count += i;   // count = count + i    
            //     }
            //     console.log(count)
            // }
            // addFn()
            // addFn()

            // for（ 3 - 10
            // for(50 - 80)

            // 函数的参数
                // 形参  即变量  定义时的小括号  形式参数   
                // 实参  调用时的小括号  确切的值
                // 参数 讲究 一一对应
                // function addFn(s , e , x){
                //     console.log(s , e , x)
                //     var count = 0; // 求和的变量
                //     for(var i = s ; i <= e; i++){
                //         count += i;   // count = count + i    
                //     }
                //     console.log(count)
                // }
                // addFn( 1 , 50 )
                // addFn( 3 , 10 )
                // addFn( 50 , 80 )

            // 函数的返回值 return 
                // 需求  实现1和5的和  再控制台
                //           3 9      再页面
                //           4 8       弹出
            // function addFn( num1 , num2 ){
            //     console.log("yes")
            //     return "hello"
                
            // }

            // console.log( addFn( 1 , 5 ) )
            // document.write( addFn( 3 , 9 ) )
            // alert( addFn( 4 , 8 ) )

            // 函数的实参对象集合  arguments   是个伪数组对象  【下标】访问
            // 不确定参数时  使用arguments
            // 
            // 需求 求 任意个 【3 ？ 5 ？ 100？】数字的的和
            // function fn(){
            //     console.log( arguments )
            //     console.log( typeof arguments )
            //     var total = 0;
            //     for(var i = 0; i < arguments.length ; i++){
            //         // console.log( arguments[i] )
            //         total += arguments[i]
            //     }
            //     console.log( total )
            // }
            // fn(1,5,63,2,4,5,8,9,6,5,4,8,2,3)
            // fn(5,6,3,21,5,4)
            // fn(5,6,4)

            // console.log( typeof function(){} , typeof [] , typeof {})

            // // 定义一个函数，计算出100以内可以被三整除的数            
            // function getNum(){
            //     // 1 循环拿到 1 - 100 之间的所有值
            //     for(var i = 1 ; i <= 100 ; i++){
            //         // 判断当前数 是3的倍数
            //         if(i % 3 === 0){
            //             console.log(i)
            //         }
            //     }
            // }
            // getNum()

            // // 计算出 任意数 以内可以被 某数 整除的数
            // //         50               5
            // //         100              8
            // function getNum(num , n){
            //     // 1 循环拿到 1 - num 之间的所有值
            //     for(var i = 1 ; i <= num ; i++){
            //         // 判断当前数 是n的倍数
            //         if(i % n === 0){
            //             console.log(i)
            //         }
            //     }
            // }
            // getNum(100 , 8)


            // 计算出 任意两数 以内可以被 某数 整除的数
            //         50 - 80             9
            //         100 - 150            12
            // function getNum(s , e , n){
            //     // 1 循环拿到 s - e 之间的所有值
            //     for(var i = s ; i <= e ; i++){
            //         // 判断当前数 是n的倍数
            //         if(i % n === 0){
            //             console.log(i)
            //         }
            //     }
            // }
            // getNum(100 , 150 , 12)

    </script>
</body>
</html>